package cn.tedu.channel;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;

public class Client {

    public static void main(String[] args) throws IOException {

        // 开启客户端的通道
        SocketChannel sc = SocketChannel.open();
        // 手动设置为非阻塞
        sc.configureBlocking(false);
        // 发起连接
        sc.connect(new InetSocketAddress("localhost", 8070));
        // 判断连接是否建立
        // 如果重连多次都没有连接成功，那么说明这个连接无法建立
        while (!sc.isConnected())
            // 这个方法底层会根据当前的网络环境自动的计数
            // 如果计数多次依然无法建立连接，则会报错
            sc.finishConnect();
        // 建立连接，写出数据
        sc.write(ByteBuffer.wrap("hello server".getBytes()));
        // 关流
        sc.close();
    }

}
